'use strict'

import HybridJS from '../core/core'

const $ = HybridJS

/**
 * 获取app版本号，返回数据： {version:'1.0.0',build:'10000'}
 */
function version () {
    return $.callNativeSync("app","version")
}

/**
 * 获取app名称,返回数据: 'tingmimi'
 */
function name() {
    return $.callNativeSync("app","name")
}

/**
 * 弹出警告框
 * @param obj
 *  {
 *      title:'',       //标题
 *      msg:'',         //信息
 *      callback:function(){}     //用户点击按钮后回调函数
 *   }
 */
function alert(obj) {
    $.callNative("app","alert",obj)
}

/**
 * 弹出确认框
 * @param obj
 *  {
 *      title:'',       //标题
 *      msg:'',         //信息
 *      yesTitle:'',    //确认(同意)按钮显示文字，默认显示确认
 *      noTitle:'',     //取消(不同意)按钮显示文字,默认显示取消
 *      callback:function(result){}     //用户点击按钮后回调函数，result为true表示点击确认按钮，反之表示点击取消按钮
 *   }
 */
function confirm(obj) {
    $.callNative("app","confirm",obj)
}

/**
 * 增加app图标角标数量(num为负数则减少)
 * @param num
 * @returns {*}
 */
function addBadge(num) {
    return $.callNativeSync("app","addBadge",{num:num})
}

/**
 * 设置app图标角标数量，num为0时角标隐藏
 * @param num
 * @returns {*}
 */
function setBadge(num) {
    return $.callNativeSync("app","setBadge",{num:num})
}

export default {
    version,
    name,
    alert,
    confirm,
    addBadge,
    setBadge
}